{
	"$schema": "http://json-schema.org/draft-04/schema#",
	"type": "object",
	"definitions": {
		"configurations": {
			"type": "array",
			"items": {
				"type": "object",
				"required": [
					"name"
				],
				"properties": {
					"name": {
						"markdownDescription": "構成識別子です。`Mac`、`Linux`、`Win32` は、それらのプラットフォームで自動選択される構成の特別な識別子ですが、どの識別子でも使用できます。",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "string"
					},
					"compilerPath": {
						"markdownDescription": "より正確な IntelliSense を有効にするために使用されているコンパイラの完全なパスです (例: `/usr/bin/gcc`)。",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "string"
					},
					"compilerArgs": {
						"markdownDescription": "たとえば `-nostdinc++`、`-m32` など、使用されているインクルードや定義を変更するコンパイラ引数です。",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "array",
						"items": {
							"type": "string"
						}
					},
					"cStandard": {
						"description": "IntelliSense に使用する C 言語標準のバージョンです。注意: GNU 標準は、set コンパイラをクエリして GNU 定義を取得するためにのみ使用されるため、IntelliSense は同等の C 標準バージョンをエミュレートします。",
						"type": "string",
						"enum": [
							"c89",
							"c99",
							"c11",
							"c17",
							"gnu89",
							"gnu99",
							"gnu11",
							"gnu17",
							"${default}"
						]
					},
					"cppStandard": {
						"description": "IntelliSense に使用する C++ 言語標準のバージョンです。注意: GNU 標準は、set コンパイラをクエリして GNU 定義を取得するためにのみ使用されるため、IntelliSense は同等の C++ 標準バージョンをエミュレートします。",
						"type": "string",
						"enum": [
							"c++98",
							"c++03",
							"c++11",
							"c++14",
							"c++17",
							"c++20",
							"c++23",
							"gnu++98",
							"gnu++03",
							"gnu++11",
							"gnu++14",
							"gnu++17",
							"gnu++20",
							"gnu++23",
							"${default}"
						]
					},
					"compileCommands": {
						"markdownDescription": "ワークスペースの `compile_commands.json` ファイルへの完全なパス。",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "string"
					},
					"includePath": {
						"markdownDescription": "インクルードされたヘッダーを検索する際に IntelliSense エンジンによって使用されるパスの一覧です。これらのパスでの検索は再帰的ではありません。再帰的な検索を示すには、`**` を指定します。たとえば、`${workspaceFolder}/**` を指定するとすべてのサブディレクトリが検索されますが、`${workspaceFolder}` はそうではありません。通常、これにはシステム インクルードを含めるべきではありません。 代わりに、`C_Cpp.default.compilerPath` を設定します。",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "array",
						"items": {
							"type": "string"
						}
					},
					"macFrameworkPath": {
						"description": "Mac フレームワークからインクルードされたヘッダーを検索する際に Intellisense エンジンが使用するパスの一覧です。Mac 構成でのみサポートされます。",
						"type": "array",
						"items": {
							"type": "string"
						}
					},
					"windowsSdkVersion": {
						"markdownDescription": "Windows で使用する Windows SDK インクルード パスのバージョン (例: `10.0.17134.0`)。",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "string",
						"pattern": "^\\d{2}\\.\\d{1}\\.\\d{5}\\.\\d{1}$|^8\\.1$"
					},
					"dotConfig": {
						"description": "Kconfig システムによって作成された.config ファイルへのパス。Kconfig システムは、プロジェクトをビルドするためのすべての定義を含むファイルを生成します。Kconfig システムを使用するプロジェクトの例としては、Linux Kernel と NuttX RTOS があります。",
						"type": "string"
					},
					"defines": {
						"markdownDescription": "ファイルを解析する際に IntelliSense エンジンが使用するプリプロセッサ定義の一覧です。必要に応じて、`=` を使用して値を設定します (例: `VERSION=1`)。",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "array",
						"items": {
							"type": "string"
						}
					},
					"intelliSenseMode": {
						"markdownDescription": "プラットフォームおよびアーキテクチャのバリアント (MSVC、gcc、Clang) へのマップに使用する IntelliSense モードです。値が設定されていない、または `${default}` に設定されている場合、拡張機能ではそのプラットフォームの既定値が選択されます。Windows の既定値は `windows-msvc-x64`、Linux の既定値は `linux-gcc-x64`、macOS の既定値は `macos-clang-x64` です。`<コンパイラ>-<アーキテクチャ>` バリエント (例: `gcc-x64`) のみを指定する IntelliSense モードはレガシ モードであり、ホスト プラットフォームに基づいて `<プラットフォーム>-<コンパイラ>-<アーキテクチャ>` に自動的に変換されます。",
						"descriptionHint": "Uses of words 'platform', 'compiler', and 'architecture' are meant to be descriptive placeholders for literal values, so they should be translated, but without changing the surrounding `<>-<>` symbols. All other text inside `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "string",
						"enum": [
							"macos-clang-x86",
							"macos-clang-x64",
							"macos-clang-arm",
							"macos-clang-arm64",
							"macos-gcc-x86",
							"macos-gcc-x64",
							"macos-gcc-arm",
							"macos-gcc-arm64",
							"linux-clang-x86",
							"linux-clang-x64",
							"linux-clang-arm",
							"linux-clang-arm64",
							"linux-gcc-x86",
							"linux-gcc-x64",
							"linux-gcc-arm",
							"linux-gcc-arm64",
							"windows-clang-x86",
							"windows-clang-x64",
							"windows-clang-arm",
							"windows-clang-arm64",
							"windows-gcc-x86",
							"windows-gcc-x64",
							"windows-gcc-arm",
							"windows-gcc-arm64",
							"windows-msvc-x86",
							"windows-msvc-x64",
							"windows-msvc-arm",
							"windows-msvc-arm64",
							"clang-x86",
							"clang-x64",
							"clang-arm",
							"clang-arm64",
							"gcc-x86",
							"gcc-x64",
							"gcc-arm",
							"gcc-arm64",
							"msvc-x86",
							"msvc-x64",
							"msvc-arm",
							"msvc-arm64",
							"${default}"
						]
					},
					"forcedInclude": {
						"description": "翻訳単位のインクルード ファイルの前に含める必要があるファイルの一覧。",
						"type": "array",
						"items": {
							"type": "string"
						}
					},
					"configurationProvider": {
						"description": "ソース ファイルの IntelliSense 構成情報を提供できる VS Code 拡張機能の ID です。",
						"type": "string"
					},
					"mergeConfigurations": {
						"markdownDescription": "インクルード パス、定義、強制インクルードを構成プロバイダーのものとマージするには、`true` に設定します。",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "boolean"
					},
					"browse": {
						"type": "object",
						"properties": {
							"limitSymbolsToIncludedHeaders": {
								"markdownDescription": "ヘッダーとして直接的または間接的にインクルードされたファイルのみを処理する場合は `true` に設定し、指定したインクルード パスにあるすべてのファイルを処理する場合は `false` に設定します。",
								"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
								"type": [
									"boolean",
									"string"
								]
							},
							"databaseFilename": {
								"description": "生成されるシンボル データベースへのパスです。相対パスを指定した場合、ワークスペースの既定のストレージの場所に対する相対パスになります。",
								"type": "string"
							},
							"path": {
								"markdownDescription": "ワークスペース シンボルのインデックス作成と解析に使用するパスの一覧です ([定義へ移動]、[すべての参照を検索] などに使用する)。既定では、これらのパスでの検索は再帰的です。非再帰的な検索を示すには `*` を指定します。たとえば、`${workspaceFolder}` を指定するとすべてのサブディレクトリが検索されますが、`${workspaceFolder}/*` を指定すると検索されません。",
								"descriptionHint": "Text in '' is a command and should be translated in the same way that VS Code itself translates it. Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
								"type": "array",
								"items": {
									"type": "string"
								}
							}
						},
						"additionalProperties": false
					},
					"customConfigurationVariables": {
						"type": "object",
						"markdownDescription": "`launch.json` または `tasks.json` で入力変数として使用するためにコマンド `${cpptools:activeConfigCustomVariable}` を使用して照会できるカスタム変数。",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"patternProperties": {
							"(^.+$)": {
								"type": "string"
							}
						},
						"additionalProperties": false
					}
				},
				"additionalProperties": false
			}
		},
		"env": {
			"type": "object",
			"markdownDescription": "`${変数}` 構文または `${env:変数}` 構文を使用して、このファイルのどこからでも再利用できるカスタム変数。",
			"descriptionHint": "The word 'variable' within curly braces should be translated. The \"env\" should not be translated, and the capitalization, spacing, and punctuation (\"${:}\", including the ``) should be preserved.",
			"patternProperties": {
				"(?!^workspaceFolder$)(?!^workspaceRoot$)(?!^workspaceFolderBasename$)(?!^execPath$)(?!^pathSeparator$)(?!^default$)(^.+$)": {
					"oneOf": [
						{
							"type": "string"
						},
						{
							"type": "array",
							"items": {
								"type": "string"
							}
						}
					]
				}
			},
			"additionalProperties": false
		},
		"version": {
			"type": "integer",
			"description": "構成ファイルのバージョンです。このプロパティは、拡張機能によって管理されています。変更しないでください。"
		},
		"enableConfigurationSquiggles": {
			"type": "boolean",
			"default": true,
			"markdownDescription": "拡張機能が、`c_cpp_properties.json` で検出されたエラーを報告するかどうかを制御します。",
			"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered."
		}
	},
	"properties": {
		"configurations": {
			"$ref": "#/definitions/configurations"
		},
		"env": {
			"$ref": "#/definitions/env"
		},
		"version": {
			"$ref": "#/definitions/version"
		},
		"enableConfigurationSquiggles": {
			"$ref": "#/definitions/enableConfigurationSquiggles"
		}
	},
	"required": [
		"configurations",
		"version"
	],
	"additionalProperties": false
}